Software development is now sometimes performed with continuous integration (CI) and/or continuous deployment/delivery (CD). Continuous integration and continuous deployment/delivery are considered best practices by many in the software development community and are gaining in popularity. A continuous integration system typically validates each submitted software change, typically by building, (i.e., converting source code into executable code) and running tests before delivering the software to customers.
A continuous deployment/delivery system typically performs a deployment or delivery to consumers of the software after the completion of each build.